home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 17
/
CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso
/
CUCD
/
Programming
/
DiceSource
/
lib
/
unix
/
setenv.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-09-09
|
1KB
|
57 lines
/*
* SETENV.C
*
* (c)Copyright 1992-1997 Obvious Implementations Corp. Redistribution and
* use is allowed under the terms of the DICE-LICENSE FILE,
* DICE-LICENSE.TXT.
*
* sets a local enviroment variable under 2.0, global env var under 1.3
*/
#include <exec/types.h>
#include <exec/libraries.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <libraries/dos.h>
#if INCLUDE_VERSION >= 36
#include <dos/dostags.h>
#include <clib/dos_protos.h>
#endif
typedef struct Library Library;
extern Library *SysBase;
int
setenv(varName, varStr)
const char *varName;
const char *varStr;
{
#if INCLUDE_VERSION >= 36
if (SysBase->lib_Version >= 37) {
SetVar(varName, varStr, -1, GVF_GLOBAL_ONLY);
} else
#endif
{
long fh;
BPTR lock;
if (lock = Lock("ENV:", SHARED_LOCK)) {
lock = CurrentDir(lock);
if (fh = Open(varName, 1006)) {
Write(fh, varStr, strlen(varStr));
Close(fh);
}
UnLock(CurrentDir(lock));
}
}
return(0);
}